/*! Txplayer - v3.0.0 - 2016-12-30 16:40:14
 * Copyright (c) 2016
 * Powered by Tencent-Video Web Front End Team
 */
!function (a) {
    function b(d) {
        if (c[d])return c[d].exports;
        var e = c[d] = {exports: {}, id: d, loaded: !1};
        return a[d].call(e.exports, e, e.exports, b), e.loaded = !0, e.exports
    }

    var c = {};
    return b.m = a, b.c = c, b.p = "", b(0)
}([function (a, b, c) {
    c(1), a.exports = c(14)
}, function (a, b, c) {
    function d(a) {
        var b = this, c = new p;
        this.userMsg = new p, c.setMaxListeners(100), this.userMsg.setMaxListeners(100), a.playType && (a.playerType = a.playType);
        var d = h(m.extend({}, q));
        d = h(m.extend(d, a));
        var e = a.pluginsMap || o, l = e[d.videoType];
        d.settings = m.extend({}, q.settings, a.settings, d.extendSettings || {});
        var r = {}, t = {
            config: d,
            msg: c,
            userMsg: this.userMsg,
            dataset: r,
            userApi: this,
            privateApi: {}
        }, v = k(d, l, t);
        q.extendPluginsMap && q.extendPluginsMap[d.videoType] && (a.extendPluginsMap && a.extendPluginsMap[d.videoType][d.playerType] ? v = v.concat(a.extendPluginsMap[d.videoType][d.playerType]) : q.extendPluginsMap && q.extendPluginsMap[d.videoType][d.playerType] && (v = v.concat(q.extendPluginsMap[d.videoType][d.playerType]))), a.playerType && d.playerType === a.playerType && Array.prototype.indexOf && v.indexOf("H5PlayerAd") === -1 && v.push("H5PlayerAd"), d.playerId = i(d), d.guid = j(d), r.guid = d.guid, r.playerId = d.playerId, this.getUserId = function () {
            return r.guid
        }, this.getPlayerId = function () {
            return r.playerId
        }, this.isApiExist = function (a) {
            return "function" == typeof b[a]
        }, u.exportsReportApi(t), u.reportTxplayer(t, {
            playType: d.playerType,
            videoType: d.videoType
        }), n._instance[d.playerId] = this, "flash" === d.playerType && (n.flashVersion = m.getFlashVersion()), d.useComboService ? g(b, v, t, d, c) : f(b, v, t, d, c), this.on = function (a, c) {
            return "string" != typeof a ? (m.error("player.on(evtName, fn), evtName must be a String"), this) : "function" != typeof c ? (m.error("player.on(evtName, fn), fn must be a Function"), this) : (b.userMsg.on(a, function () {
                        c.apply(b, arguments)
                    }), this)
        }, this.trigger = function (a, c) {
            if ("string" != typeof a)return !1;
            var d = [a, c];
            return s.each(arguments, function (a, b) {
                a < 2 || d.push(b)
            }), b.userMsg.broadcast.apply(b.userMsg, d)
        }, this.off = function (a) {
            return "string" != typeof a ? (m.error('player.off("evtName"):evtName must be a string'), !1) : (b.userMsg.off(a), this)
        }
    }

    function e() {
        var a;
        return a = "function" == typeof window.Zepto ? window.Zepto : "function" == typeof window.jQuery ? window.jQuery : "function" == typeof window.jq ? window.jq : null
    }

    function f(a, b, c, d, e) {
        m.loadPlugins.call(a, b, c, d.settings, function () {
            c.dataset.isReady = !0, "flash" !== d.playerType && (a.userMsg.broadcast("ready"), e.broadcast("ready"))
        })
    }

    function g(a, b, c, g, h) {
        var i, j, k = [], l = [], o = [], p = 0, q = "/tencentvideo/txp/js/plugins/", r = !1, u = "/tencentvideo/txp/js/jquery.min.js";
        m.mobile && (u = "/tencentvideo/txp/js/zepto.min.js");
        var v = function (a) {
            if ("string" == typeof a && (g.settings[a] ? g.settings.hasOwnProperty(a) && !g.settings[a].url && k.push(a) : k.push(a), g.settings[a] && m.isArray(g.settings[a].subPlugins)))for (var b = 0, c = g.settings[a].subPlugins.length; b < c; b++)v(g.settings[a].subPlugins[b])
        };
        for (p = 0, i = b.length; p < i; p++)v(b[p]);
        for (p = 0, i = k.length; p < i && !d.plugins[k[p]]; p++)j = k[p].toLowerCase() + ".js", d.hashMaps && d.hashMaps[j] && d.hashMaps[j].replace ? l.push(d.hashMaps[j]) : l.push(j);
        for (; l.length > 0;)s || r ? o.push(n.comboServiceRule + q + l.splice(0, 20).join(",")) : (r = !0, o.push(n.comboServiceRule + [u, q + l.splice(0, 19).join(",")].join(",")));
        var w = function () {
            if (0 === o.length)return void f(a, b, c, g, h);
            var i = o.shift();
            i += "?max_age=604800&_ts=" + d.dataset.ts, m.loadScript({
                url: i, crossorigin: !1, onsuccess: function (a) {
                    s || (s = e(), s && (d.$ = s, d.$.tmpl = t)), w()
                }
            })
        };
        w()
    }

    function h(a) {
        var b = ["title", "volume", "duration", "vid", "containerId"];
        for (var c in a)m.inArray(c, b) > -1 && (a[c] = m.xss(a[c]));
        return a
    }

    function i(a) {
        var b = a.pid || m.createGUID();
        return b
    }

    function j(a) {
        var b = a.guid || m.getData(n.localStorageKey.userId);
        return b && 32 === b.length || (b = m.createGUID(), m.setData(n.localStorageKey.userId, b)), b
    }

    function k(a, b, c) {
        function e() {
            var a = m.getData(n.localStorageKey.userSetting), b = {};
            if (a) {
                try {
                    window.JSON && "function" == typeof JSON.parse ? b = JSON.parse(a) : "function" == typeof s.parseJSON && (b = s.parseJSON(a))
                } catch (e) {
                    c.msg.broadcast("reportError", {msg: e.message, code: d.define.reportCode.JS_ERROR, stack: e.stack})
                }
                return b && b.isUseFlash + "" == "1" ? "flash" : b && b.isUseFlash + "" == "0" ? "html5hd" : ""
            }
        }

        var f, g = !!a.playerType;
        m.mobile || a.enForcePlayerType || (f = e()), "html5hd" !== a.playerType && "html5hd" !== f || !m.os.windows || n.debug || (f = "flash"), m.browser.ie && (f = "flash"), m.os.ipad && (f = "ipadh5"), f ? a.playerType = f : a.playerType || (a.playerType = l(a)), "html5hd" == a.playerType && m.isSupportChromeHls() && (a.playerType = "chromehls"), "html5hd" == a.playerType && m.os.mac && m.browser.safari && (a.playerType = "safarihls"), !g && !f && "html5hd" == a.playerType && m.os.mac && m.browser.qqbrowser && (a.playerType = "flash");
        var h = b[a.playerType];
        return h && 0 !== h.length ? h : []
    }

    function l(a) {
        function b() {
            return m.os.mac ? m.browser.safari && (m.compareVersion(m.browser.safari.version, "9.0") < 0 || m.compareVersion(m.os.version, "10.10") < 0) && m.isFlashFit() ? "flash" : m.browser.firefox && m.compareVersion(m.browser.firefox.version, "48.0") < 0 ? "flash" : "html5hd" : m.os.windows ? "flash" : m.os.linux ? "flash" : m.os.ios ? m.os.ipad ? "ipadh5" : "h5" : m.os.android ? m.isSupportMP4() ? "h5" : "mp4link" : "flash"
        }

        function c() {
        }

        return "vod" === a.videoType ? b() : c()
    }

    var m = c(2), n = c(5), o = (c(4), c(6)), p = c(7), q = c(9), r = c(10), s = e(), t = c(11), u = c(12), v = c(13);
    d.register = function (a, b) {
        return "string" != typeof a ? (m.error("player.register(pluginName, fn), pluginName must be a String"), this) : "function" != typeof b ? (m.error("player.register(pluginName, fn), fn must be a Function"), this) : void(d.plugins[a] = b)
    }, d.msg = new p, d.msg.setMaxListeners(500), d.dataset = n, d.defaultconfig = q, d.errcode = v, d.util = m, d.Events = p, d.plugins = {}, d.$ = s, d.define = {reportCode: r}, s && (d.$.tmpl = t), window.Txplayer = d
}, function (a, b, c) {
    var d = {
        error: function (a) {
            if (window.console && window.console.error)try {
                throw a
            } catch (b) {
                window.console.error(a)
            }
        }, log: function () {
            window.console && window.console.log && Txplayer && Txplayer.dataset && Txplayer.dataset.debug && window.console.log.apply && window.console.log.apply(window.console, arguments)
        }, showInfo: function (a, b) {
            if (window.console && window.console.log) {
                "object" == typeof b && window.JSON && window.JSON.stringify && (b = JSON.stringify(b));
                var c = this.dateFormat("yyyy-MM-dd hh:mm:ss:S");
                Txplayer.dataset.logData.push({
                    time: c,
                    info: a,
                    data: b
                }), d.log("%c[Txplayer]%c[" + c + "]%c" + a + ": %c \t\t" + b, "color: #aaa", "background: #fff; color:#999;", "background: #000;color:#fff;", "color:green;");
                var e, f = 500;
                Txplayer.dataset.logData && (e = Txplayer.dataset.logData.length, e > f && (Txplayer.dataset.logData = Txplayer.dataset.logData.slice(e - f, e)))
            }
        }, showError: function (a, b) {
            window.console && window.console.log && d.log("%c" + a + ": %c " + b, "background: #ccc;color:#fff;", "color: red;")
        }, fiddlerLog: function (a) {
            Txplayer && Txplayer.dataset && !Txplayer.dataset.debug || ("string" != typeof a && "number" != typeof a || (a = {a: a}), (new Image).src = "http://test.m.v.qq.com/txplayer?" + Txplayer.$.param(a))
        }, cookie: {
            set: function (a, b, c, d, e) {
                if (e) {
                    var f = new Date, g = new Date;
                    g.setTime(f.getTime() + 36e5 * e)
                }
                return document.cookie = a + "=" + b + "; " + (e ? "expires=" + g.toGMTString() + "; " : "") + (d ? "path=" + d + "; " : "path=/; ") + (c ? "domain=" + c + ";" : "domain=" + window.location.host + ";"), !0
            }, get: function (a) {
                var b = new RegExp("(?:^|;+|\\s+)" + a + "=([^;]*)"), c = document.cookie.match(b);
                return c ? c[1] : ""
            }, del: function (a, b, c) {
                var d = new Date;
                d.setTime(d.getTime() - 1), document.cookie = a + "=; expires=" + d.toGMTString() + ";" + (c ? "path=" + c + "; " : "path=/; ") + (b ? "domain=" + b + ";" : "domain=" + window.location.host + ";")
            }
        }, object2string: function (a, b) {
            b = "undefined" != typeof b ? b : "&";
            var c = [];
            for (var d in a)c.push(d + "=" + a[d]);
            return c.join(b)
        }, appendParamsToUrl: function (a, b) {
            return a += a.indexOf("?") > -1 ? "&" + d.object2string(b) : "?" + d.object2string(b)
        }, removeUrlParams: function (a) {
            if ("string" == typeof a) {
                var b = document.createElement("a");
                return b.href = a, b.protocol + "//" + b.host + b.pathname
            }
        }, getRelativeUrl: function (a) {
            if ("string" == typeof a) {
                var b = document.createElement("a");
                b.href = a;
                var c;
                return c = b.pathname && "string" == typeof b.pathname ? b.pathname : "", "//" + b.host + ("/" !== c[0] ? "/" + c : c)
            }
        }, loadCss: function (a) {
            var b = Txplayer.$.Deferred(), c = 1, e = !1, f = function (a) {
                var e = document.createElement("link");
                e.rel = "stylesheet", e.type = "text/css", e.onload = function () {
                    b.resolve()
                }, e.onerror = function () {
                    if (c >= 3)return void b.reject();
                    c++, e.parentNode.removeChild(e);
                    var g = {};
                    g["__t" + c] = +new Date, f(d.appendParamsToUrl(a, g))
                }, e.href = a, Txplayer.$("head")[0].appendChild(e)
            }, g = d.getRelativeUrl(a);
            return Txplayer.$('link[rel="stylesheet"]').each(function (a, b) {
                var c = b.href;
                if (c && c.indexOf(g) > -1)return e = !0, !1
            }), e ? b.resolve() : (a = d.appendParamsToUrl(a, {_: window.Txplayer && Txplayer.dataset.ts || +new Date}), f(a)), b
        }, getDefaultPosterByVid: function (a) {
            var b = ["496_280"], c = "//shp.qpic.cn/qqvideo_ori/0/{vid}_{index}/0";
            return c.replace("{vid}", a).replace("{index}", b[0])
        }, getOriginURL: function (a) {
            return "string" != typeof a ? a : a.replace(/\?.+/g, "")
        }, loadScript: function (a) {
            a = a || {}, a.onsuccess = a.onsuccess || function () {
                };
            var b = document.createElement("script"), c = document.getElementsByTagName("head")[0], e = /^(?:loaded|complete|undefined)$/;
            if (a.url) {
                var f = d.getOriginURL(a.url), g = function (a) {
                    var b;
                    if (Txplayer.dataset.loadScriptDefer && Txplayer.dataset.loadScriptDefer[f] && Txplayer.dataset.loadScriptDefer[f].constructor === Array)for (; Txplayer.dataset.loadScriptDefer[f].length > 0;)b = Txplayer.dataset.loadScriptDefer[f].shift(), "function" == typeof b && b(a)
                };
                if (Txplayer.dataset.loadScriptDefer && Txplayer.dataset.loadScriptDefer[f] && Txplayer.dataset.loadScriptDefer[f].constructor === Array && Txplayer.dataset.loadScriptDefer[f].length)return void Txplayer.dataset.loadScriptDefer[f].push(a.onsuccess);
                Txplayer.dataset.loadScriptDefer[f] = [a.onsuccess], b.async = "async", b.src = a.url, b.charset = "utf-8", a.crossorigin && b.setAttribute("crossorigin", ""), b.onload = b.onerror = b.onreadystatechange = function () {
                    e.test(b.readyState) && (b.onload = b.onerror = b.onreadystatechange = null, b = null, g(!0))
                }, b.onerror = function () {
                    b.onload = b.onerror = b.onreadystatechange = null, b = null, g(!1)
                }, c.appendChild(b)
            }
        }, getFlashVersion: function () {
            var a = Txplayer.dataset.flashVersion;
            if ("0.0.0" != a)return a;
            var b = null, c = null, d = [], e = "Shockwave Flash", f = navigator, g = "application/x-shockwave-flash";
            if (Txplayer.util.browser.ie)try {
                b = new ActiveXObject("ShockwaveFlash.ShockwaveFlash"), b && (c = b.GetVariable("$version"), c && (c = c.split(" ")[1].split(","), d = [parseInt(c[0], 10), parseInt(c[1], 10), parseInt(c[2], 10)]))
            } catch (h) {
            } else"undefined" != typeof f.plugins && "object" == typeof f.plugins[e] && (c = f.plugins[e].description, !c || "undefined" == typeof f.mimeTypes && f.mimeTypes[g] && !f.mimeTypes[g].enabledPlugin || (c = c.replace(/^.*\s+(\S+\s+\S+$)/, "$1"), d[0] = parseInt(c.replace(/^(.*)\..*$/, "$1"), 10), d[1] = parseInt(c.replace(/^.*\.(.*)\s.*$/, "$1"), 10), d[2] = /[a-zA-Z]/.test(c) ? parseInt(c.replace(/^.*[a-zA-Z]+(.*)$/, "$1"), 10) : 0));
            return a = d.join(".")
        }, compareVersion: function (a, b) {
            a = String(a).split("."), b = String(b).split(".");
            try {
                for (var c = 0, d = Math.max(a.length, b.length); c < d; c++) {
                    var e = isFinite(a[c]) && Number(a[c]) || 0, f = isFinite(b[c]) && Number(b[c]) || 0;
                    if (e < f)return -1;
                    if (e > f)return 1
                }
            } catch (g) {
                return -1
            }
            return 0
        }, isFlashFit: function () {
            return this.compareVersion(this.getFlashVersion(), "10.0") > -1
        }, getJsonpCallbackName: function (a) {
            return ["txplayerJsonpCallBack", a, parseInt(1e6 * Math.random())].join("_")
        }, getStdfrom: function () {
            var a = "view.inews.qq.com" === location.hostname, b = location.hostname.indexOf("caixin.com") > -1;
            return b ? "v1093" : Txplayer.util.os.iphone || Txplayer.util.os.ipod ? a ? "v3110" : "v3010" : Txplayer.util.os.ipad ? a ? "v4110" : "v4010" : Txplayer.util.os.android ? Txplayer.util.os.tablet ? "v6010" : a ? "v5110" : "v5010" : Txplayer.util.browser.IEMobile ? "v7010" : "v1010"
        }, getDeviceId: function () {
            var a = navigator.userAgent;
            return d.os.ipad ? 1 : d.os.windows ? /Touch/i.test(a) ? 8 : /Phone/i.test(a) ? 7 : 2 : d.os.android ? d.mobile ? 3 : 5 : d.os.iphone ? 4 : d.os.mac ? 9 : 10
        }, getBusinessId: function () {
            if (d.browser.wechat)return 6;
            if (d.browser.mqq)return 17;
            var a = "";
            if (document.location.href.indexOf("http://v.qq.com/iframe/") >= 0 && window != top) {
                var b = document.referrer;
                if ("" !== b) {
                    var c = document.createElement("a");
                    c.href = b, a = c.hostname, c = null
                }
            }
            "" === a && (a = document.location.hostname || document.location.host);
            var e = [{r: /(\w+\.)?weixin\.qq\.com$/i, v: 6}, {r: /^(v|film)\.qq\.com$/i, v: 1}, {
                r: /^news\.qq\.com$/i,
                v: 2
            }, {r: /(\w+\.)?qzone\.qq\.com$/i, v: 3}, {r: /(\w+\.)?t\.qq\.com$/i, v: 5}, {
                r: /^3g\.v\.qq\.com$/i,
                v: 8
            }, {r: /^m\.v\.qq\.com$/i, v: 10}, {r: /3g\.qq\.com$/i, v: 12}];
            a = a.toLowerCase();
            for (var f = 0, g = e.length; f < g; f++) {
                var h = e[f];
                if (h.r.test(a))return h.v
            }
            return 7
        }, getPlatform: function () {
            var a = d.getBusinessId(), b = d.getDeviceId();
            return 1e4 * a + 100 * b + 1
        }, getDeviceCode: function () {
            var a = 0;
            return d.os.iphone ? a = 2 : d.os.ipad ? a = 3 : d.os.android && d.phone && (a = 1), a
        }, getPlatformCode: function () {
            var a = 0;
            return d.browser.wechat ? a = 1 : d.browser.mqq ? a = 2 : d.browser.mqqbrowser && (a = 3), a
        }, isQQBuLuoHost: function () {
            return !(!Txplayer.util.browser.MQQClient || "xiaoqu.qq.com" !== window.location.hostname && "buluo.qq.com" !== window.location.hostname)
        }, isSupportApp: function () {
            return !!(d.os.iphone || d.os.ipod || d.os.ipad) || !!d.os.android
        }, getMobileVideoPosterByVid: function (a, b) {
            b = void 0 !== b ? b : 2;
            var c = ["496_280", "360_204", "228_128"], d = "//shp.qpic.cn/qqvideo_ori/0/{vid}_{index}/0";
            return b >= c.length && (b = c.length - 1), d.replace("{vid}", a).replace("{index}", c[b])
        }, getPcVideoPosterByVid: function (a, b) {
            function c(a) {
                for (var b = 1e8, c = 0, d = 0; d < a.length; d++)c = (c << 5) + c + a.charCodeAt(d);
                return c % b
            }

            if (b = b || ".png", !a)return "";
            var d = "//vpic.video.qq.com/" + c(a) + "/" + a + b;
            return d
        }, getHostNameByUrl: function (a) {
            a = a || location.href;
            var b = document.createElement("a");
            return b.href = a, b.hostname
        }, getQQFromCookie: function () {
            var a = d.cookie.get("luin") || d.cookie.get("uin");
            return a && (a = a.replace(/\D/g, "")), a
        }, createGUID: function (a) {
            a = a || 32;
            for (var b = "", c = 1; c <= a; c++) {
                var d = Math.floor(16 * Math.random()).toString(16);
                b += d
            }
            return b
        }, filterXSS: function (a) {
            return "string" != typeof a ? a : a.replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/\"/g, "&quot;").replace(/\'/g, "&apos;")
        }, getData: function (a) {
            if (window.localStorage)return window.localStorage[a]
        }, setData: function (a, b) {
            if (window.localStorage)try {
                window.localStorage[a] = b
            } catch (c) {
                d.showError(c)
            }
        }, delData: function (a) {
            if (window.localStorage)return window.localStorage.removeItem(a), !0
        }, isSupportM3u8: function () {
            var a = document.createElement("video"), b = ["application/x-mpegURL", "audio/mpegurl", "vnd.apple.mpegURL", "application/vnd.apple.mpegURL"], c = !1;
            if ("function" == typeof a.canPlayType)for (var d = 0, e = b.length; d < e; d++)if (a.canPlayType(b[d])) {
                c = !0;
                break
            }
            return a = null, c
        }, isSupportChromeHls: function () {
            return window.MediaSource = window.MediaSource || window.WebKitMediaSource, "http:" == location.protocol && "v.qq.com" == location.hostname && d.browser.chrome && window.MediaSource && "function" == typeof window.MediaSource.isTypeSupported && window.MediaSource.isTypeSupported('video/mp4; codecs="avc1.42E01E,mp4a.40.2"')
        }, isSupportMP4: function () {
            var a = document.createElement("video");
            if ("function" == typeof a.canPlayType) {
                if ("probably" == a.canPlayType('video/mp4; codecs="mp4v.20.8"'))return !0;
                if ("probably" == a.canPlayType('video/mp4; codecs="avc1.42E01E"') || "probably" == a.canPlayType('video/mp4; codecs="avc1.42E01E, mp4a.40.2"'))return !0
            }
            return !1
        }, isSupportSVG: function () {
            return !(!document.implementation || !Txplayer.$.isFunction(document.implementation.hasFeature)) && document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure", "1.1")
        }, isSupportMute: function () {
            return !Txplayer.util.ios && !Txplayer.util.mobile
        }, isUseH5Type: function () {
            return d.mobile && !d.os.ipad
        }, getDomNodeOffsetInPage: function (a) {
            for (var b = a.offsetLeft, c = a.offsetTop, d = a.offsetParent; null !== d;)b += d.offsetLeft, c += d.offsetTop, d = d.offsetParent;
            return {x: b, y: c}
        }, whenWechatIsReady: function (a) {
            var b = Txplayer.$.Deferred(), c = a.timeout || 5e3;
            return Txplayer.ua.browser.wechat && ("undefined" != typeof WeixinJSBridge && WeixinJSBridge.on ? b.resolve() : (document.addEventListener("WeixinJSBridgeReady", function () {
                    b.resolve()
                }), setTimeout(function () {
                    b.reject()
                }, c))), b
        }, getMainHostName: function () {
            var a = window.location.hostname || window.location.host, b = location.host.split(".");
            return b.length > 1 && (a = b.slice(b.length - 2).join(".")), a
        }, getUrlParam: function (a, b) {
            b = b || document.location.toString();
            var c = new RegExp("(^|&|\\\\?)" + a + "=([^&]*)(&|$|#)"), d = null;
            return d = b.match(c), d ? d[2] : ""
        }, getAdChannelId: function () {
            var a = "";
            return /(.*\.)3g\.qq\.com$/i.test(window.location.hostname) ? a = 13 : /(.*\.)?v\.qq\.com$/i.test(window.location.hostname) || d.browser.qqlive ? a = 0 : d.browser.wechat ? a = 3 : d.browser.mqq ? a = 10 : d.browser.qqnews && (a = 2), a
        }, insert2Array: function (a, b, c) {
            if (b > c.length)return c;
            var d = c.slice(0, b), e = c.slice(b, c.length), f = [];
            return f = f.concat(d, a, e)
        }, formatPlayTime: function (a) {
            if ("string" == typeof a && (a = parseInt(a)), "number" == typeof a) {
                a = parseInt(a);
                var b, c, d, e = function (a) {
                    return a < 10 ? "0" + a : a
                };
                return b = parseInt(a / 3600), c = parseInt((a - 3600 * b) / 60), d = parseInt(a - 3600 * b - 60 * c), 0 === b ? [e(c), e(d)].join(":") : [b, e(c), e(d)].join(":")
            }
        }, dateFormat: function (a, b) {
            b = b || new Date, a = a || "yyyy-MM-dd hh:mm:ss";
            var c = {
                "M+": b.getMonth() + 1,
                "d+": b.getDate(),
                "h+": b.getHours(),
                "m+": b.getMinutes(),
                "s+": b.getSeconds(),
                "q+": Math.floor((b.getMonth() + 3) / 3),
                S: b.getMilliseconds()
            };
            /(y+)/.test(a) && (a = a.replace(RegExp.$1, (b.getFullYear() + "").substr(4 - RegExp.$1.length)));
            for (var d in c)new RegExp("(" + d + ")").test(a) && (a = a.replace(RegExp.$1, 1 == RegExp.$1.length ? c[d] : ("00" + c[d]).substr(("" + c[d]).length)));
            return a
        }, isTencentDomain: function (a) {
            if (a = a || document.domain, "qq.com" === a)return !0;
            var b = a.split(".");
            return !!(b && b.length > 2) && ("qq" === b[b.length - 2] && "com" === b[b.length - 1])
        }, isVqqOrFilmqq: function () {
            return "v.qq.com" === location.hostname || "film.qq.com" === location.hostname
        }, loadPlugins: function (a, b, c, e) {
            function f() {
                function a(c) {
                    var e = function () {
                        g(h)
                    }, j = function () {
                        return i >= 1 ? (d.showError("plugin load failed", b), void f()) : (i++, void a())
                    };
                    b && b.indexOf("_ts=") === -1 && (b += b.indexOf("?") > -1 ? "&_ts=" + Txplayer.dataset.ts || +new Date : "?_ts=" + Txplayer.dataset.ts || +new Date), d.loadScript({
                        url: b,
                        crossorigin: !1,
                        onsuccess: function (a) {
                            a ? e() : j()
                        }
                    })
                }

                if (0 === j.length)return void e();
                var b, h = j.shift(), i = 0, k = !0, l = h.toLowerCase() + ".js";
                Txplayer && Txplayer.hashMaps && Txplayer.hashMaps[l] && (l = Txplayer.hashMaps[l]), c && c.hasOwnProperty(h) && c[h].url && (b = c[h].url, k = !1), b || (b = Txplayer.dataset.jsBasePath + "plugins/" + l), Txplayer.plugins.hasOwnProperty(h) ? g(h) : a(k)
            }

            function g(a) {
                i = h(a), i && i.done && i.fail ? i.done(function () {
                        f()
                    }) : f()
            }

            function h(a) {
                var e;
                if (!Txplayer.plugins.hasOwnProperty(a))return !1;
                c[a] ? b.pluginConfig = c[a] : b.pluginConfig = {};
                try {
                    k["_" + a] || (k["_" + a] = new Txplayer.plugins[a](b), b.msg && b.msg.broadcast && b.msg.broadcast("pluginReady", {name: a}), b.userMsg && b.userMsg.broadcast && b.userMsg.broadcast("pluginReady", {name: a}))
                } catch (f) {
                    e = f.message, d.showError("JS有异常:" + a, e), d.log(f.stack), b.msg.broadcast && b.msg.broadcast("reportError", {
                        msg: e,
                        code: Txplayer.define.reportCode.JS_ERROR,
                        stack: f.stack
                    })
                }
                return a.indexOf("HtmlFrame") == -1 && !function (a, b, c) {
                    a && (a.addDestroyToPlugin = function () {
                        var d = this.context.superMsg || this.context.msg;
                        d.on("destroyPlugin", function (e, f) {
                            e && e !== b || ("function" === Txplayer.$.type(a.remove) && a.remove(), a && a.dataset && (a.dataset.mudoleApis || a.dataset.privateApis || a.dataset.eventsList) && (a.dataset.mudoleApis && Txplayer.$.each(a.dataset.mudoleApis, function (a, b) {
                                d.off(a)
                            }), a.dataset.privateApis && Txplayer.$.each(a.dataset.privateApis, function (a, b) {
                                d.off(a)
                            }), a.dataset.eventsList && Txplayer.$.each(a.dataset.eventsList, function (a, b) {
                                d.off(a)
                            })), a && a.dataset && Txplayer.$.each(a.dataset, function (a, b) {
                                /_TIMER/.test(a) && b && (clearInterval(b), clearTimeout(b))
                            }), Txplayer.$.each(a, function (a, b) {
                                b = null
                            }), c[b] = null, delete c[b])
                        })
                    }, a.addDestroyToPlugin())
                }(k["_" + a], a, k), k["_" + a]
            }

            if (c = c || {}, e = e || function () {
                    }, !d.isArray(a))return void d.showError("loadPlugins error", "plugins的参数应该是数组");
            if (!b)return void d.showError("loadPlugins error", "context是必要参数");
            var i, j = a.slice(0), k = this;
            f()
        }, getUniqueMsgKey: function (a) {
            return a + "." + d.createGUID()
        }, getTxVideoPageURLByVid: function (a, b, c) {
            if (b = "0" != b ? "_" + b : "", !a)return "";
            var d = "//v.qq.com/", e = d + "page/" + a.substr(0, 1) + "/" + a.substr(a.length - 2, 1) + "/" + a.substr(a.length - 1, 1) + "/" + a + b + ".html";
            return c && (e += "?start=" + parseInt(c)), e
        }, getBrowserBrand: function () {
            var a = Txplayer.util.browser, b = "";
            return a.qqbrowser ? b = "qqbrowser" : a.chrome ? b = "chrome" : a.firefox ? b = "firefox" : a.safari ? b = "safari" : a.ie && (a.ie.version ? (a.ie.version += "", b = "ie" + a.ie.version.split(".").shift()) : b = "ie"), b
        }, xss: function (a) {
            return "string" != typeof a ? a : a.replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/\"/g, "&quot;").replace(/\'/g, "&apos;")
        }, isInScreen: function (a) {
            if (d.mobile)return !1;
            var b = Txplayer.$(window), c = {top: b.scrollTop(), left: b.scrollLeft()};
            c.right = c.left + b.width(), c.bottom = c.top + b.height();
            var e = Txplayer.$(a), f = e.offset();
            return f.right = f.left + e.outerWidth(), f.bottom = f.top + e.outerHeight(), !(c.right < f.left || c.left > f.right || c.bottom < f.top || c.top > f.bottom)
        }, getPTAG: function () {
            for (var a = this.getUrlParam, b = this.getDomainOfURL, c = Txplayer.$, d = this.cookie, e = document.location.toString().toLowerCase(), f = "", g = ["ptag", "adtag", "pgv_ref"], h = 0, i = g.length; h < i && !(f = a(g[h], e)); h++);
            if (!f)try {
                f = sessionStorage.getItem("ptag")
            } catch (j) {
            }
            if (!f) {
                var k = b(document.referrer);
                k && c.inArray(k, ["v.qq.com", "film.qq.com", "m.v.qq.com"]) === -1 && (f = k.replace(/\./g, "_"))
            }
            return f || (f = d.get("ptag")), f
        }, getDomainOfURL: function (a) {
            var b = "";
            if ("undefined" == typeof a || null == a || "" == a)return b;
            var c = /.*\:\/\/([^\/]*).*/, d = a.match(c);
            return "undefined" != typeof d && null != d && (b = d[1]), b
        }, getTimeStampStr: function (a) {
            a = a || 10;
            var b = parseInt(+new Date) + "";
            if (b.length === a)return b;
            if (b.length > a)return b.substring(0, a);
            for (var c = a - b.length; c > 0;)b = "0" + b, c--;
            return b
        }, extend: function () {
            var a = arguments;
            if (!(a.length <= 1)) {
                if (2 === a.length) {
                    for (var b in a[1])a[0][b] = a[1][b];
                    return a[0]
                }
                for (var c = a.length - 1, d = c, e = a.callee; d > 0; d--)a[d - 1] = e(a[d - 1], a[d]);
                return a[0]
            }
        }, inArray: function (a, b) {
            var c = -1;
            if ("object" == typeof a && a.constructor === Array && a.length)for (var d = 0, e = a.length; d < e; d++)if (a[d] === b) {
                c = d;
                break
            }
            return c
        }, isArray: function (a) {
            return "object" == typeof a && a.constructor === Array
        }, param: function (a) {
            var b = [];
            for (var c in a)b.push(c + "=" + a[c]);
            return b.join("&")
        }, getUin: function (a) {
            var b = this.cookie.get("skey"), c = (this.cookie.get("lskey"), ""), d = 0, e = !1;
            return e || "" != b ? (c = this.cookie.get("uin"), "" == c && a && (c = this.cookie.get("luin")), d = parseInt(c.replace(/^o0*/g, ""), 10), isNaN(d) || d <= 1e4 ? 0 : d) : 0
        }, getParams: function (a) {
            for (var b, c, d = a.indexOf("?"), e = a.substring(d + 1), f = /\w+=[^&]+/g, g = {}; null !== (b = f.exec(e));)c = b[0].split("="), c.length >= 2 && (g[c.shift()] = c.join("="));
            return g
        }, removeArrayItem: function (a, b, c) {
            return "undefined" == typeof c && (c = 1), "object" != typeof a || a.constructor !== Array ? a : b < 0 ? a : (a.splice(b, c), a)
        }, trigger: function (a, b) {
            if (window.jQuery && jQuery().trigger)return void jQuery(document).trigger("TxPlayerJSBrageReady");
            var c;
            return document.createEventObject ? (c = document.createEventObject(), a.fireEvent("on" + b, c)) : (c = document.createEvent("HTMLEvents"), c.initEvent(b, !0, !0), !a.dispatchEvent(c))
        }
    }, e = c(3), f = c(4);
    e.call(d), d.report = f, a.exports = d
}, function (a, b) {
    function c(a) {
        a = a || navigator.userAgent, a = a.toLowerCase(), this.browser = {}, this.os = {}, this.phone = {}, this.mobile = !1, a.indexOf("mobile") > -1 && (this.mobile = !0);
        var b, c = {
            android_1: /android[\s\/]([\d\.]+)/i,
            android_2: /android/i,
            android_3: /MIDP-/i,
            ipod_1: /iPod\stouch;\sCPU\siPhone\sos\s([\d_]+)/i,
            ipod_100: /iPod.*os\s?([\d_\.]+)/i,
            iphone: /iPhone;\sCPU\siPhone\sos\s([\d_]+)/i,
            iphone_100: /iPhone.*os\s?([\d_\.]+)/i,
            ipad_1: /ipad;\scpu\sos\s([\d_]+)/i,
            ipad_2: /ipad([\d]+)?/i,
            windows: /windows\snt\s([\d\.]+)/i,
            mac: /Macintosh.*mac\sos\sx\s([\d_\.]+)/i,
            linux: /Linux/i
        };
        for (var d in c)if (b = c[d].exec(a)) {
            this.os[d.replace(/_\d+/, "")] = !0, b[1] && (this.os.version = b[1].replace(/_/g, "."));
            break
        }
        (this.os.iphone || this.os.ipad || this.os.ipod) && (this.os.ios = !0);
        var e, f, g = {
            wechat: /MicroMessenger\/([\d\.]+)/i,
            ipadqq: /IPadQQ\/([\d\.]+)/i,
            mqq: /qq\/([\d\.]+)/i,
            qzone: /QZONEJSSDK\/([\d\.]+)/i,
            mqqbrowser: /mqqbrowser\/([\d\.]+)/i,
            qqbrowser: /[^m]QQBrowser\/([\d\.]+)/i,
            x5: /tbs\/(\d+)/i,
            uc: /UCBrowser\/([\d\.]+)/i,
            safari_1: /Version\/(([\d\.]+))\sSafari\/[\d\.]+/i,
            safari_2: /Safari\/([\d\.]+)/i,
            firefox: /Firefox\/([\d\.]+)/i,
            ie_1: /MSIE\s([\d\.]+)/i,
            ie_2: /(trident\/\d\.\d)/,
            weibo: /weibo__([\d\.]+)/i,
            qqnews: /qqnews\/([\d\.]+)/i,
            qqlive_1: /QQLiveBrowser\/([\d\.]+)/i,
            qqlive_2: /QQLiveHDBrowser\/([\d\.]+)/i,
            kuaibao: /qnreading\/([\d\.]+)/i,
            liebao: /LieBaoFast\/([\d\.]+)/i,
            douban: /com\.douban\.frodo\/([\d\.]+)/i,
            miuibrowser: /MiuiBrowser/i,
            baidu: /baiduboxapp/i,
            browser360: /360browser/i,
            oppobrowser: /OppoBrowser/i,
            chrome_1: /CriOS\/([\d\.]+)/i,
            chrome_2: /Chrome\/([\d\.]+)/i
        };
        for (var h in g)if (e = g[h].exec(a)) {
            if (f = h.replace(/_\d+/, ""), this.browser[f])return;
            this.browser[f] = {version: e[1]}
        }
        this.os.android && this.browser.safari && delete this.browser.safari, this.browser.chrome && this.browser.safari && delete this.browser.safari, this.browser.ie && this.browser.ie.version && this.browser.ie.version.indexOf("trident") > -1 && (this.browser.ie.version.indexOf("6.0") > -1 ? this.browser.ie.version = "10" : this.browser.ie.version.indexOf("5.0") > -1 ? this.browser.ie.version = "9" : this.browser.ie.version.indexOf("4.0") > -1 ? this.browser.ie.version = "8" : this.browser.ie.version = "11");
        var i, j = {
            ipod: /iPod/i,
            ipad: /iPad/i,
            iphone: /iPhone/i,
            huawei_1: /HUAWEI([\w_-]+)/i,
            huawei_2: /(CHM-\w+)/i,
            huawei_3: /(HonorChe)/i,
            huawei_4: /HONORPLK/i,
            huawei_5: /(Che\d+-CL\d+)/i,
            huawei_6: /(H\d+-L\d+)/i,
            huawei_100: /HUAWEI/i,
            xiaomi_1: /(HM\sNOTE)/i,
            xiaomi_2: /(HM\s\w+)/i,
            xiaomi_3: /(MI\s\w+)/i,
            xiaomi_4: /(MI-ONE\sPlus)/i,
            xiaomi_5: /(M1)\sBuild/i,
            xiaomi_6: /(HM\d+)/i,
            xiaomi_7: /Xiaomi[\s_]?([\w_]+)/i,
            samsung_1: /(GT-\w+)/i,
            samsung_2: /(SCH-\w+)/i,
            samsung_3: /(SM-\w+)/i,
            vivo: /vivo\s(\w+)/i,
            oneplus: /ONEPLUS-([a-z0-9]+)/i,
            lenovo_1: /Lenovo[\s-]?([\w-]+)/i,
            lenovo_100: /Lenovo/i,
            zte_1: /ZTE\s?(\w+)?/i,
            zte_2: /ZTE/i,
            coolpad_1: /Coolpad\s(\w+)/i,
            coolpad_100: /Coolpad/i,
            oppo_1: /OPPO\s?(\w+)/i,
            oppo_2: /(R7Plus|R8007|R801|R831S|R8205)/i,
            oppo_100: /OPPO/i,
            meizu_1: /(MX\d+)/i,
            meizu_2: /(m\d+\snote)\sBuild/i,
            htc_1: /HTC\s?(\w+)/i,
            htc_100: /HTC/i,
            tcl: /TCL\s(\w+)/i,
            lephone: /lephone\s(\w+)/i,
            lg: /LG[\s-]?(\w+)/i,
            galaxy: /(galaxy\d+)/,
            hisense_1: /Hisense/i,
            hisense_2: /HS-(\w+)/i,
            philips: /Philips\s?(\w+)?/i,
            "金立": /(GN\w+)\sBuild/i,
            sonny: /sonny/i,
            "天语": /K-Touch/i
        };
        for (var k in j)if (i = j[k].exec(a)) {
            this.phone.name = k.replace(/_\d+/, ""), i[1] && (this.phone.version = i[1].replace(/^[_-]/gi, ""));
            break
        }
    }

    a.exports = c
}, function (a, b) {
    function c(a) {
        return f ? void h.push(a) : (f = setTimeout(function () {
                d()
            }, 1e3), g = document.createElement("img"), g.onerror = d, g.src = a, void e(a))
    }

    function d() {
        return 0 === h.length ? (g = null, void(f = null)) : (clearTimeout(f), f = null, void c(h.shift()))
    }

    function e(a) {
        if (a && Txplayer.util && Txplayer.util.getParams && Txplayer.dataset.showreport && window.console && "function" == typeof window.console.table) {
            var b = [], c = Txplayer.util.getParams(a);
            for (var d in c)b.push({key: d, value: decodeURIComponent(c[d])});
            c && c.BossId ? window.console.log("%c" + [c.BossId, c.step].join(" -- "), "color: green;") : window.console.log(a), window.console.table(b)
        }
    }

    var f, g, h = [];
    a.exports = c
}, function (a, b, c) {
    var d = c(2), e = {
        maxId: 0,
        deferGetPlayerScript: {},
        hideClass: "txp_none",
        showClass: "txp_show",
        btnHoverClass: "txp_hover",
        currentClass: "txp_current",
        jsBasePath: "//vm.gtimg.cn/tencentvideo/txp/js/",
        flashVersion: "0.0.0",
        flashLiveSwf: "//vm.gtimg.cn/minivideo_v1/vd/res/TencentPlayerLive.swf?max_age=86400",
        flashVodSwf: function () {
            return "v.qq.com" === location.hostname ? "//imgcache.qq.com/tencentvideo_v1/playerv3/TencentPlayer.swf?max_age=86400" : "//imgcache.qq.com/tencentvideo_v1/playerv3/TPout.swf?max_age=86400"
        }(),
        _instance: {},
        documentWebSite: "http://tvp.oa.com/",
        jsApiReady: "TxPlayerJSBrageReady",
        tabindex: 1,
        H5PlayerStyleUrl: {
            ipadh5: "//vm.gtimg.cn/tencentvideo/txp/style/txp_pad.css",
            html5hd: "//vm.gtimg.cn/tencentvideo/txp/style/txp_desktop.css",
            chromehls: "//vm.gtimg.cn/tencentvideo/txp/style/txp_desktop.css",
            safarihls: "//vm.gtimg.cn/tencentvideo/txp/style/txp_desktop.css",
            h5: "//vm.gtimg.cn/c/=/tencentvideo/txp/style/txp_mobile.css,txp_appbar.css",
            h5tiny: "//vm.gtimg.cn/c/=/tencentvideo/txp/style/txp_mobile.css,txp_appbar.css"
        },
        comboServiceRule: "//vm.gtimg.cn/c/=",
        clickEventName: function () {
            return "click"
        }(),
        loadScriptDefer: {},
        switchDefinitionTimeout: 0,
        logData: [],
        showreport: "1" === d.getUrlParam("_showreport_")
    };
    e.localStorageKey = {
        userId: "txp-userid",
        userSetting: "txp-user-setting",
        playTime: "txp-playtime",
        adRfid: "txp-ad-rfid",
        historyPlayTime: "txp-history-playtime",
        historyDefinition: "txp-history-definition",
        volumeHistory: "txp-history-volume",
        adMuteHistory: "txp-ad-history-mute"
    }, a.exports = e
}, function (a, b) {
    var c = {
        vod: {
            html5hd: ["HtmlFrame", "HdPlayer", "UiTips", "HdPlayerReport", "HdPlayerHistory", "UiLoading", "H5PlayerAd", "UiControl", "HdPlayerControl", "UiTitle", "UiPoster", "HdHotKey", "UiDialog", "UiScreenPercent", "UiFavorite", "UiOverlayPlay", "UiClock"],
            ipadh5: ["HtmlFrame", "UiTips", "UiControl", "UiLoading", "H5PlayerAd", "UiPlay", "UiIpadLimit", "HdPlayerReport", "HdPlayerHistory", "UiPoster", "UiDialog", "H5Player", "H5PlayerControl"],
            h5: ["H5HtmlFrame", "H5Login", "UiLoading", "H5UiPlay", "UiPoster", "H5UiLimit", "H5UiSpeedy", "H5UiErrorShow", "HdPlayerReport", "H5PlayerAd", "H5Player", "H5UiControl", "H5PlayerControl", "UiContinuePlay", "H5Banner", "H5UiPauseBanner", "H5Recommend", "H5Follow", "H5TopBanner"],
            mp4link: ["H5PlayerControl", "H5UiMp4link"],
            h5tiny: ["H5HtmlFrame", "H5Login", "UiPoster", "UiLoading", "H5UiErrorShow", "HdPlayerReport", "H5Player", "H5PlayerControl", "TinyUiPlay", "TinyRecommend"],
            flash: ["HtmlFrame", "FlashPlayer"],
            tizen: ["TizenLoadingAd", "TizenTV"],
            chromehls: ["HtmlFrame", "HdPlayer", "UiTips", "HdPlayerReport", "HdPlayerHistory", "UiLoading", "H5PlayerAd", "UiControl", "HlsHelper", "HdPlayerControl", "UiTitle", "UiPoster", "HdHotKey", "UiDialog", "UiScreenPercent", "UiFavorite", "UiOverlayPlay", "UiClock"],
            safarihls: ["HtmlFrame", "HdPlayer", "UiTips", "HdPlayerReport", "HdPlayerHistory", "UiLoading", "H5PlayerAd", "UiControl", "HdPlayerControl", "UiTitle", "UiPoster", "HdHotKey", "UiDialog", "UiScreenPercent", "UiFavorite", "UiOverlayPlay", "UiClock"],
            miniplayer: []
        }, live: {}
    };
    a.exports = c
}, function (a, b, c) {
    var d = c(8);
    d.prototype.on = function (a, b) {
        return a ? b && b.call && b.constructor === Function ? void this.addListener.call(this, a, b) : void(window.Txplayer && Txplayer.util.error("on error:listener must be a function" + a)) : void(window.Txplayer && Txplayer.util.error("on error:evtName不能为空:" + a))
    }, d.prototype.off = function (a) {
        if (!a)return this;
        if (a.indexOf(".") > -1)return this.removeAllListeners.call(this, a), this;
        for (name in this._events)name !== a ? name && name.indexOf(".") === -1 || a === name.split(".")[0] && this.removeAllListeners.call(this, name) : this.removeAllListeners.call(this, a);
        return this
    }, d.prototype.broadcast = function (a, b) {
        if (!a)return void(window.Txplayer && Txplayer.util.error("broadcast error:evtName不能为空:" + a));
        if ("string" != typeof a)return this;
        for (var c = [a], d = 0, e = arguments.length; d < e; d++)0 !== d && c.push(arguments[d]);
        var f = c.slice(0);
        if (a.indexOf(".") > -1)return this.emit.apply(this, c), this;
        for (msgName in this._events)msgName !== a ? msgName && msgName.indexOf(".") === -1 || a === msgName.split(".")[0] && (f[0] = msgName, this.emit.apply(this, f)) : this.emit.apply(this, c);
        return this
    }, d.prototype.setData = function (a, b) {
        return a ? b && b.call && b.constructor === Function ? void this.addListener.call(this, a, b) : void(window.Txplayer && Txplayer.util.error("on error:listener must be a function" + a)) : void(window.Txplayer && Txplayer.util.error("on error:evtName不能为空:" + a))
    }, d.prototype.getData = function (a, b) {
        if ("string" != typeof a)return !1;
        for (var c = {
            data: null,
            async: !1
        }, d = [a, b, c], e = 0, f = arguments.length; e < f; e++)e < 2 || d.push(arguments[e]);
        return this.emit.apply(this, d), c.async ? c.async : c.data
    }, a.exports = d
}, function (a, b) {
    function c() {
        this._events = this._events || {}, this._maxListeners = this._maxListeners || void 0
    }

    function d(a) {
        return "function" == typeof a
    }

    function e(a) {
        return "number" == typeof a
    }

    function f(a) {
        return "object" == typeof a && null !== a
    }

    function g(a) {
        return void 0 === a
    }

    a.exports = c, c.EventEmitter = c, c.prototype._events = void 0, c.prototype._maxListeners = void 0, c.defaultMaxListeners = 10, c.prototype.setMaxListeners = function (a) {
        if (!e(a) || a < 0 || isNaN(a))throw TypeError("n must be a positive number");
        return this._maxListeners = a, this
    }, c.prototype.emit = function (a) {
        var b, c, e, h, i, j;
        if (this._events || (this._events = {}), "error" === a && (!this._events.error || f(this._events.error) && !this._events.error.length)) {
            if (b = arguments[1],
                b instanceof Error)throw b;
            var k = new Error('Uncaught, unspecified "error" event. (' + b + ")");
            throw k.context = b, k
        }
        if (c = this._events[a], g(c))return !1;
        if (d(c))switch (arguments.length) {
            case 1:
                c.call(this);
                break;
            case 2:
                c.call(this, arguments[1]);
                break;
            case 3:
                c.call(this, arguments[1], arguments[2]);
                break;
            default:
                h = Array.prototype.slice.call(arguments, 1), c.apply(this, h)
        } else if (f(c))for (h = Array.prototype.slice.call(arguments, 1), j = c.slice(), e = j.length, i = 0; i < e; i++)j[i].apply(this, h);
        return !0
    }, c.prototype.addListener = function (a, b) {
        var e;
        if (!d(b))throw TypeError("listener must be a function");
        return this._events || (this._events = {}), this._events.newListener && this.emit("newListener", a, d(b.listener) ? b.listener : b), this._events[a] ? f(this._events[a]) ? this._events[a].push(b) : this._events[a] = [this._events[a], b] : this._events[a] = b, f(this._events[a]) && !this._events[a].warned && (e = g(this._maxListeners) ? c.defaultMaxListeners : this._maxListeners, e && e > 0 && this._events[a].length > e && (this._events[a].warned = !0, console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.", this._events[a].length), "function" == typeof console.trace && console.trace())), this
    }, c.prototype.on = c.prototype.addListener, c.prototype.once = function (a, b) {
        function c() {
            this.removeListener(a, c), e || (e = !0, b.apply(this, arguments))
        }

        if (!d(b))throw TypeError("listener must be a function");
        var e = !1;
        return c.listener = b, this.on(a, c), this
    }, c.prototype.removeListener = function (a, b) {
        var c, e, g, h;
        if (!d(b))throw TypeError("listener must be a function");
        if (!this._events || !this._events[a])return this;
        if (c = this._events[a], g = c.length, e = -1, c === b || d(c.listener) && c.listener === b) delete this._events[a], this._events.removeListener && this.emit("removeListener", a, b); else if (f(c)) {
            for (h = g; h-- > 0;)if (c[h] === b || c[h].listener && c[h].listener === b) {
                e = h;
                break
            }
            if (e < 0)return this;
            1 === c.length ? (c.length = 0, delete this._events[a]) : c.splice(e, 1), this._events.removeListener && this.emit("removeListener", a, b)
        }
        return this
    }, c.prototype.removeAllListeners = function (a) {
        var b, c;
        if (!this._events)return this;
        if (!this._events.removeListener)return 0 === arguments.length ? this._events = {} : this._events[a] && delete this._events[a], this;
        if (0 === arguments.length) {
            for (b in this._events)"removeListener" !== b && this.removeAllListeners(b);
            return this.removeAllListeners("removeListener"), this._events = {}, this
        }
        if (c = this._events[a], d(c)) this.removeListener(a, c); else if (c)for (; c.length;)this.removeListener(a, c[c.length - 1]);
        return delete this._events[a], this
    }, c.prototype.listeners = function (a) {
        var b;
        return b = this._events && this._events[a] ? d(this._events[a]) ? [this._events[a]] : this._events[a].slice() : []
    }, c.prototype.listenerCount = function (a) {
        if (this._events) {
            var b = this._events[a];
            if (d(b))return 1;
            if (b)return b.length
        }
        return 0
    }, c.listenerCount = function (a, b) {
        return a.listenerCount(b)
    }
}, function (a, b, c) {
    var d = c(2), e = {
        autoplay: !1,
        playerType: "",
        enForcePlayerType: !1,
        videoType: "vod",
        vid: "",
        cid: "",
        columnId: "",
        containerId: "",
        width: "0",
        height: "0",
        showPoster: !0,
        defaultDefinition: "",
        isUsePlayinline: !0,
        isUseWebkitPlayinline: !0,
        isUseAirplay: !0,
        isUseCrossOrigin: !1,
        isUsePreload: function () {
            return !d.mobile
        }(),
        isUseControl: !1,
        isUseHtml5UI: !0,
        hideControlUI: !1,
        isShowDurationLimit: !0,
        isHtml5UseFakeFullScreen: !0,
        isContinuePlay: !1,
        pauseBanner: !1,
        downloadBanner: !1,
        recommendBanner: !1,
        followBanner: !1,
        extendPluginsMap: {
            vod: {
                chromehls: function () {
                    return "v.qq.com" === location.hostname ? ["Barrage"] : []
                }(), safarihls: function () {
                    return "v.qq.com" === location.hostname ? ["Barrage"] : []
                }()
            }
        },
        muted: !1,
        volume: 50,
        loop: !1,
        settings: {
            UiControl: {
                subPlugins: function () {
                    var a = [];
                    return a = d.mobile ? ["UiProgress", "UiControlPlay", "UiPlayNext", "UiShowTime", "UiWindowFullScreen", "UiLogo"] : ["UiProgress", "UiControlPlay", "UiPlayNext", "UiShowTime", "UiBarrageBtn", "UiVolume", "UiDefinition", "UiPreview", "UiSettings", "UiBrowserFullScreen", "UiWindowFullScreen", "UiLogo"]
                }()
            },
            H5UiControl: {subPlugins: ["UiControlPlay", "UiShowTime", "UiProgress", "H5UiHdBtn", "H5UiFullScreen"]},
            UiSettings: {},
            HdPlayer: {subPlugins: ["UiShadow"]},
            H5Player: {subPlugins: ["UiShadow"]},
            HlsPlayer: {subPlugins: ["UiShadow"]},
            H5PlayerAd: {url: "//ca.gtimg.com/adplugin/js/adplayer.js"}
        },
        isNeedPay: !1,
        playStartTime: 0,
        skipPrelude: !0,
        useConnectionPlay: !1,
        connectionPlayTime: 0,
        hideControlOnPlaying: !0,
        otherVideoLink: "http://v.qq.com/",
        useComboService: !0,
        showLogo: "v.qq.com" !== location.hostname,
        showTitle: "v.qq.com" !== location.hostname,
        showToggleSideBar: !1,
        show1080p: !0,
        globalRetryTimes: 4,
        keyRetryTimes: 1,
        flashWmode: function () {
            return d.browser.ie || d.browser.firefox ? "opaque" : "window"
        }(),
        flashvar: {},
        flashplayerUrl: "",
        showBrowserFullScreen: "v.qq.com" == location.hostname,
        showSettings: !0,
        showShare: !0,
        showCloseLight: !1,
        showSmallWindowButton: !1,
        showBullet: !1,
        bulletId: "",
        showImageBullet: !1,
        showBulletInput: !0,
        showFlashBulletInput: !1,
        openBulletDefault: !0,
        showRecommendOnEnd: !0,
        useFlashVIPLayer: -1,
        flashCallFn: function () {
        },
        showOpenVIPGuide: function () {
        }
    };
    a.exports = e
}, function (a, b) {
    var c = {
        JS_ERROR: "3000",
        FLASH_API_ERROR: "3001",
        CGI_ERROR: "3002",
        VIDEO_PLAY_FAIL: "3003",
        VIDEO_NET_LOADING: "3004",
        VIDEO_FENPIAN_ERR: "3005",
        SEEK_ERROR: "3006"
    };
    a.exports = c
}, function (a, b) {
    var c = function (a, b) {
        return function (d, e) {
            var f = /\s/.test(d) ? function (a) {
                    var c, d = [b], e = [[]];
                    for (c in a)d.push(c), e.push(a[c]);
                    return new Function(d, f.$).apply(a, e).join("")
                } : a[d] = a[d] || c(document.getElementById(d).innerHTML);
            return f.$ = f.$ || b + ".push('" + d.replace(/\\/g, "\\\\").replace(/[\r\t\n]/g, " ").split("<%").join("\t").replace(/((^|%>)[^\t]*)'/g, "$1\r").replace(/\t=(.*?)%>/g, "',$1,'").split("\t").join("');").split("%>").join(b + ".push('").split("\r").join("\\'") + "');return " + b, e ? f(e) : f
        }
    }({}, "$" + +new Date);
    a.exports = c
}, function (a, b) {
    function c(a, b) {
        var c = b.config.playerType, d = b.config.videoType, h = {
            version: Txplayer.dataset.ver,
            uid: b.dataset.guid,
            pid: b.dataset.playerId,
            vid: b.dataset.vid,
            player_type: c,
            video_type: "vod" === d ? 1 : 2,
            platform: Txplayer.util.getPlatform(),
            url: document.URL,
            filename: Txplayer.dataset.filename,
            sub_version: Txplayer.dataset.flashVersion,
            error_code: a.code || "",
            error_msg: encodeURIComponent(a.msg) || "",
            error_stack: a.stack || "",
            file_lastupdate: Txplayer.dataset.lastModify,
            qq_openid: e(),
            browser: Txplayer.util.getBrowserBrand(),
            osname: f(),
            osver: Txplayer.util.os.version
        };
        "flash" !== h.player_type && (h.sub_version = g(h.browser)), h.error_msg += "", h.error_stack += "", h.error_msg = h.error_msg.replace(/\$/g, ""), h.error_stack = h.error_stack.replace(/\$/g, ""), Txplayer.util.showInfo("错误上报", h);
        var i = "//btrace.video.qq.com/kvcollect?BossId=3720&Pwd=1814753491&";
        i += Txplayer.util.param(h), Txplayer.util.report(i)
    }

    function d(a) {
        function b() {
            var a;
            if (!(Txplayer && Txplayer.dataset && Txplayer.dataset._instance))return a;
            for (var b in Txplayer.dataset._instance) {
                a = Txplayer.dataset._instance[b];
                break
            }
            return a
        }

        if (a && a.filename && a.message && a.filename.indexOf("//vm.gtimg.cn/tencentvideo/txp/js/") !== -1) {
            var c, d, f, g, h, i = b();
            i && i.constructor === Txplayer && (c = i.getUserId(), d = i.getPlayerId(), f = i.getVid(), g = i.getPlayerType(), h = i.getVideoType());
            var j = ["line=" + a.lineno, "column=" + a.colno].join(" "), k = {
                version: Txplayer.dataset.ver,
                uid: c,
                pid: d,
                vid: f,
                player_type: g,
                video_type: "vod" === h ? 1 : 2,
                platform: Txplayer.util.getPlatform(),
                url: document.URL,
                filename: a.filename,
                sub_version: Txplayer.dataset.flashVersion,
                error_code: "3000",
                error_msg: a.message,
                error_stack: j,
                file_lastupdate: Txplayer.dataset.lastModify,
                qq_openid: e()
            };
            Txplayer.util.showInfo("错误上报", k);
            var l = "//btrace.video.qq.com/kvcollect?BossId=3720&Pwd=1814753491&";
            l += Txplayer.util.param(k), Txplayer.util.report(l)
        }
    }

    function e() {
        var a = Txplayer.util.cookie.get("openid") || Txplayer.util.getQQFromCookie();
        return a
    }

    function f() {
        var a = Txplayer.util.os;
        return a.windows ? "windows" : a.mac ? "mac" : a.linux ? "linux" : a.ipad ? "ipad" : a.iphone ? "iphone" : a.android ? "android" : "-1"
    }

    function g(a) {
        var b = "";
        if (a && Txplayer.util.browser && Txplayer.util.browser[a] && Txplayer.util.browser[a].version)return Txplayer.util.browser[a].version;
        for (var c in Txplayer.util.browser) {
            if (b)break;
            Txplayer.util.browser[c].version && (b = Txplayer.util.browser[c].version)
        }
        return b
    }

    function h(a, b) {
        var c = {
            version: Txplayer.dataset.ver,
            uid: a.dataset.guid,
            pid: a.dataset.playerId,
            vid: a.dataset.vid || a.config.vid,
            player_type: b.playType,
            video_type: "vod" === b.videoType ? 1 : 2,
            platform: Txplayer.util.getPlatform(),
            url: encodeURIComponent(document.URL),
            filename: Txplayer.dataset.filename,
            sub_version: Txplayer.dataset.flashVersion,
            _dc: Math.random(),
            browser: Txplayer.util.getBrowserBrand(),
            osname: f(),
            osver: Txplayer.util.os.version
        };
        "flash" !== c.player_type && (c.sub_version = g(c.browser));
        var d = "//btrace.video.qq.com/kvcollect?BossId=3721&Pwd=1636975887&";
        d += Txplayer.util.param(c), Txplayer.util.showInfo("播放器调用次数上报", c), Txplayer.util.report(d)
    }

    function i(a, b) {
        var c = b.config.playerType, d = b.config.videoType, e = {
            version: Txplayer.dataset.ver,
            uid: b.dataset.guid,
            pid: b.dataset.playerId,
            vid: b.dataset.vid,
            player_type: c,
            video_type: "vod" === d ? 1 : 2,
            platform: Txplayer.util.getPlatform(),
            url: document.URL,
            usr_action: a.usr_action,
            usr_action_detail: a.usr_action_detail
        };
        Txplayer.util.showInfo("用户行为上报", e);
        var f = "//btrace.video.qq.com/kvcollect?BossId=3717&Pwd=1055758521&";
        f += Txplayer.util.param(e), Txplayer.util.report(f)
    }

    function j(a, b) {
        var c = {
            gid: b.dataset.guid,
            plt: Txplayer.util.getPlatform(),
            uin: Txplayer.util.getQQFromCookie(),
            vid: b.dataset.vid,
            cts: +new Date,
            sdt: Txplayer.util.getStdfrom(),
            fne: a.filename,
            dip: a.cdnIp,
            cdn: a.cdnId,
            vky: a.vkey || ""
        };
        Txplayer.util.showInfo("getinfo上报", c);
        var d = "//btrace.video.qq.com/kvcollect?BossId=2594&Pwd=0&";
        d += Txplayer.util.param(c), Txplayer.util.report(d)
    }

    function k(a, b) {
        var c = {
            url: window != top ? document.referrer : document.location.href,
            ver: Txplayer.dataset.ver,
            ua: navigator.userAgent.replace(/\$/g, ""),
            iSta: "3537",
            val: 1,
            int1: Txplayer.util.getDeviceCode(),
            int2: Txplayer.util.getPlatformCode(),
            int3: 0,
            int4: 0,
            str1: "",
            str2: Txplayer.dataset.filename,
            str8: Txplayer.util.getUrlParam("mmuin")
        };
        c.vid = a.vid, c.int6 = a.promotionId, c.str4 = a.appCase, c.int5 = a.reportStep, c.str5 = a.str5 || "", c.str6 = Txplayer.util.getUrlParam("openid", window != top ? top.location.href.toString() : ""), c.str6 = c.str6 || "", c.str7 = a.limitCase || "", Txplayer.util.showInfo("AppBanner上报", c);
        var d = "//btrace.video.qq.com/kvcollect?BossId=4046&Pwd=176231195&_dc=" + Math.random();
        d += "&" + Txplayer.util.param(c), Txplayer.util.report(d)
    }

    function l(a, b) {
        a = a || {};
        var c = {
            version: Txplayer.dataset.ver,
            pid: b.dataset.guid,
            vid: b.dataset.vid,
            level: b.dataset.reportVideoLevel,
            val: b.dataset.userRealPlayedTime,
            bi: b.dataset.videoDuration,
            bt: b.dataset.duration,
            vt: b.dataset.reportCDNChannelId,
            step: 5,
            val1: a.isend ? 1 : 2,
            platform: 11,
            url: document.URL,
            cpay: b.dataset.isNeedPay ? 1 : 0,
            tpay: b.dataset.userPayStatus,
            ctime: Txplayer.util.dateFormat("yyyy-MM-dd hh:mm S"),
            ptime: b.dataset.currentTime,
            type: b.dataset.reportBusinessType,
            cmid: b.dataset.guid,
            ptag: Txplayer.util.getPTAG(),
            isvip: Txplayer.dataset.isvip,
            tpid: b.dataset.videoCategoryId,
            login_type: Txplayer.util.cookie.get("main_login"),
            uin: Txplayer.util.getQQFromCookie(),
            vuserid: Txplayer.util.cookie.get("vuserid"),
            abi: b.dataset.userTotalPlayedTime
        }, d = "//btrace.video.qq.com/kvcollect?BossId=3893&Pwd=1920472984&";
        d += Txplayer.util.param(c), Txplayer.util.showInfo("成长体系时长上报", c), Txplayer.util.report(d)
    }

    function m(a) {
        a.msg.on("reportError", function (b) {
            c(b, a)
        }), a.msg.on("reportUsrAction", function (b) {
            i(b, a)
        }), a.msg.on("reportGetinfo", function (b) {
            j(b, a)
        }), a.msg.on("reportAppBanner", function (b) {
            k(b, a)
        }), a.msg.on("reportLoginUserPlayTime", function (b) {
            l(b, a)
        })
    }

    window.addEventListener ? window.addEventListener("error", d) : window.attachEvent && window.attachEvent("onerror", d), a.exports = {
        reportTxplayer: h,
        reportError: c,
        exportsReportApi: m
    }
}, function (a, b) {
    var c = {
        10001: "初始化错误",
        50: "CGI系统错误,请刷新页面重试",
        51: "vid个数超出范围",
        52: "访问视频付费信息失败，请刷新页面重试",
        64: "校验视频付费信息失败，请刷新页面重试",
        61: "您请求的视频已下架",
        62: "视频状态不合法",
        63: "清晰度格式不合法",
        65: "速度格式不合法",
        66: "视频格式不存在",
        68: "CGI系统错误,请刷新页面重试",
        69: "format列表为空",
        71: "未找到HLS CDN",
        73: "生成文件名失败",
        74: "分片号不合法",
        76: "获取m3u8文件名失败",
        77: "生成HLS key失败",
        80: "很抱歉，由于版权原因，该视频暂时无法播放",
        81: "referer限制",
        82: "qzone权限限制",
        83: "该片为付费视频,VIP会员免费观看",
        84: "访问IP是黑名单",
        86: "CGI访问频率限制",
        444: "CGI系统错误,请刷新页面重试",
        445: "CGI系统错误,请刷新页面重试",
        defaultMsg: "加载失败，请重试"
    };
    a.exports = c
}, function (a, b) {
    Txplayer.hashMaps = {
        "barrage.js": "barrage.699231.js",
        "barragefloat.js": "barragefloat.e683ad.js",
        "flashplayer.js": "flashplayer.532209.js",
        "h5banner.js": "h5banner.f85d3f.js",
        "h5follow.js": "h5follow.a16974.js",
        "h5htmlframe.js": "h5htmlframe.2cb0b3.js",
        "h5login.js": "h5login.417f98.js",
        "h5player.js": "h5player.6d44ed.js",
        "h5playercontrol.js": "h5playercontrol.7bade2.js",
        "h5recommend.js": "h5recommend.a8d18c.js",
        "h5topbanner.js": "h5topbanner.55363b.js",
        "h5uicontrol.js": "h5uicontrol.8405f3.js",
        "h5uierrorshow.js": "h5uierrorshow.898bca.js",
        "h5uifullscreen.js": "h5uifullscreen.4ddec7.js",
        "h5uihdbtn.js": "h5uihdbtn.695ba8.js",
        "h5uilimit.js": "h5uilimit.f87ab0.js",
        "h5uimp4link.js": "h5uimp4link.fbdf3f.js",
        "h5uipausebanner.js": "h5uipausebanner.d0d32e.js",
        "h5uiplay.js": "h5uiplay.c88678.js",
        "h5uispeedy.js": "h5uispeedy.d59380.js",
        "hdhotkey.js": "hdhotkey.e83c7b.js",
        "hdplayer.js": "hdplayer.b2303f.js",
        "hdplayercontrol.js": "hdplayercontrol.2f76e4.js",
        "hdplayerhistory.js": "hdplayerhistory.f96c54.js",
        "hdplayerreport.js": "hdplayerreport.30e1c9.js",
        "hlshelper.js": "hlshelper.94f115.js",
        "htmlframe.js": "htmlframe.8ca53f.js",
        "tinyrecommend.js": "tinyrecommend.65aa67.js",
        "tinyuiplay.js": "tinyuiplay.c89921.js",
        "uibarragebtn.js": "uibarragebtn.bc059f.js",
        "uibrowserfullscreen.js": "uibrowserfullscreen.70fbfd.js",
        "uiclock.js": "uiclock.3efe53.js",
        "uicontinueplay.js": "uicontinueplay.5847be.js",
        "uicontrol.js": "uicontrol.03af55.js",
        "uicontrolplay.js": "uicontrolplay.71f020.js",
        "uidefinition.js": "uidefinition.a94574.js",
        "uidialog.js": "uidialog.154335.js",
        "uifavorite.js": "uifavorite.e350ee.js",
        "uiinfopanel.js": "uiinfopanel.06a37f.js",
        "uiipadlimit.js": "uiipadlimit.5bd8d5.js",
        "uiloading.js": "uiloading.a73bfe.js",
        "uilogo.js": "uilogo.bd91e5.js",
        "uioverlayplay.js": "uioverlayplay.7e1b67.js",
        "uiplay.js": "uiplay.3e1a2d.js",
        "uiplaynext.js": "uiplaynext.f0bff3.js",
        "uiposter.js": "uiposter.a84d01.js",
        "uipreview.js": "uipreview.bfc197.js",
        "uiprogress.js": "uiprogress.dbde95.js",
        "uiscreenpercent.js": "uiscreenpercent.f99e80.js",
        "uisettings.js": "uisettings.9c131f.js",
        "uishadow.js": "uishadow.b2f411.js",
        "uishowtime.js": "uishowtime.06c8b9.js",
        "uitips.js": "uitips.59e442.js",
        "uititle.js": "uititle.c386d7.js",
        "uitogglesidebar.js": "uitogglesidebar.85576a.js",
        "uivolume.js": "uivolume.0a1138.js",
        "uiwindowfullscreen.js": "uiwindowfullscreen.2e6dec.js"
    }
}]), function () {
    if (window.Txplayer && Txplayer.dataset) {
        var a = {filename: "txplayer.js", lastModify: "2016-12-30 16:40:14", ts: "1483087214992", ver: "3.0.0"};
        for (var b in a)Txplayer.dataset[b] = a[b]
    }
}();